DBFactory

Supercharging Database Application Development
Rogue Wave Software


Ease of Use
DBFactory code generation is controlled through a windowing point-and-click interface. Database and schema information are displayed on your screen. You choose the elements you need to represent in your application, and DBFactory does the rest. Inputs include a 'style file,' and either a database query, user-defined criteria, or both. DBFactory creates three outputs: .h files, .cpp files, and documentation for generated classes.

Efficiency
The default style file creates DBTools.h++ code. Two classes, a data mapping class and a database interface class, are generated to promote "lean" classes that minimize memory usage. In addition, DBFactory automatically creates documentation for each class it generates.

Flexibility
DBFactory uses 'style files' to control code generation, delivering unparalleled flexibility. You can edit the style file to tailor output to your specific needs.

Extensibility
DBFactory delivers maintainable, extensible code for your mission-critical applications. It also protects your code investment. You can modify generated code, then regenerate it to capture database changes without losing your modifications.

No Policy Imposition
DBFactory does not impose database policy. You choose how to implement transaction support, null value handling, and error models to match your own database environment.

Productivity and Portability
DBFactory gives you the power to easily generate portable, maintainable, extensible code designed around your database application needs. Working with Sybase, Oracle, Informix and ODBC compliant relational databases, DBFactory will maximize your productivity by supercharging your development. Let DBFactory do the work for you!

DBFactory supercharges DBTools.h++ by automatically creating business objects representing your relational database. DBFactory is a code generator for database applications that creates production quality C++ classes representing relational database schema information, stored procedure activation, and query results. When you use DBFactory to generate DBTools.h


User Interface


Source Code


#include <rw/db/db.h>
#include "mmdbibse.h"
...

//--Accessor Functions	
	inline	RWCString	name	() const;
	inline	long		ID	() const;
	inline	RWCString	address	() const;
	inline	RWCString	city	() const;
	inline	RWCString	state	() const;
	inline	RWCString	zip	() const;
	inline	RWCString	phone	() const;
...

Class Documentation

customerDom - customerDBI


Class customerDom maps the customer table into a C++ class. It is the base class from which other customer specialized classes derive. The interface between the table customer and objects of the class customerDom is provided by customerDBI objects. customerDBI objects publicly inherit from RWDBStatus, thus allowing you to use the DBTools.h++ error model. The status is correctly set after each operation that touches the database.

Public Constructors - customerDom

	customerDom ();
		Constructs a non-initalized object....
...

Architecture

Style File:
Defines the code style to be generated with C++ and markup language.
Query:
An input that provides a result table from the database that carries schema information. This includes column names and types that can be mapped into C++ variables, data types, function names, etc.
Options:
Optional user-defined characteristics, such as the generated class names, and the definition of primary keys.
RDBMS:
Source for query schema information.
Source Code:
Output generated by DBFactory. Existing source code generated by DBFactory can also be used as input for DBFactory. Classes generated by DBFactory also generate their own documentation.

DBFactory is initially available for Windows NT.

DBFactory generates DBTools.h++ source code that runs on all Windows and Unix systems supported by DBTools.h++

About DBTools.h++

DBTools.h++ combines the fundamental data structures and utility classes found in Tools.h++ with intuitive database objects such as DBTable and DBRow. It provides native access to Oracle, Sybase, Informix, and Ingres, plus generic access to many more databases via ODBC. DBTools.h++ is multithread safe, offers flexible error handling, and, most importantly, eliminates the discomfort of using a procedural interface in your object-oriented applications. Whether you're a novice or an expert in C++, using DBTools.h++ means you'll complete your projects more quickly and minimize the time you spend on maintenance.
© Copyright 1995, Rogue Wave Software, Inc.